package com.lvy.hczn.front.system.domain.business;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.lvy.hczn.front.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 发货单
 *
 * @author yw
 * @date 2023-06-07 10:46:13
 **/
@Data
@TableName("bill_of_parcels")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "发货单")
public class BillOfParcels extends BaseModel<BillOfParcels> {


    @ApiModelProperty(value = "发货单据编码")
    private String billOfParcelsCode;

    @ApiModelProperty(value = "来源")
    private String sourceId;

    @ApiModelProperty(value = "1待取件,2配送中,3已签收,4已入库")
    private Integer state;

    @ApiModelProperty(value = "供应商编码")
    private String supplierCode;

    @ApiModelProperty(value = "仓库编码")
    private String warehouseCode;

    @ApiModelProperty(value = "商品总重量")
    private BigDecimal goodsWeight;

    @ApiModelProperty(value = "取件地址")
    private String pickupAddress;

    @ApiModelProperty(value = "取件开始时间")
    private LocalDateTime pickupStartTime;

    @ApiModelProperty(value = "删除字段：0,删除 1：正常")
    private Integer isDelete;

    @ApiModelProperty(value = "取货码")
    private String pickupCode;

    @ApiModelProperty(value = "仓储费")
    private BigDecimal storagePrice;

    @ApiModelProperty(value = "商品分类id")
    private String categoryId;

    @ApiModelProperty(value = "配送方式:1自配送,2平台配送")
    private Integer deliveryType;

    @ApiModelProperty(value = "商品总数量")
    private Integer goodsTotalNum;

    @ApiModelProperty(value = "商品总体积")
    private BigDecimal goodsVolume;

    @ApiModelProperty(value = "取件结束时间")
    private LocalDateTime pickupEndTime;

    @ApiModelProperty(value = "货箱总数")
    private Integer goodsBoxTotalNum;

    @ApiModelProperty(value = "配送费")
    private BigDecimal deliveryPrice;

    @ApiModelProperty(value = "单据来源 0:C端,1:B端")
    private Integer sourceOrigin;

    @TableField(exist = false)
    private List<BillOfParcelsDetail> list;
}
